﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace DZJIFC.Model
{
    public enum IFCTreeNodeType
    {
        unknown = -1,
        model,
        item,
        geometry,
        decomposition,
        contains,
        properties,
        property,
        spaceView,           // New: Space-based view node
        space,               // New: Individual space node
        componentCategory,   // New: Component category grouping (e.g., "Structure", "Architecture")
        componentType,       // New: Component type grouping (e.g., "IfcWall", "IfcColumn")
    }

    public class IFCTreeNode : TreeNode, IUIItem
    {
        public IFCTreeNode(string text, IFCTreeNodeType type)
            : base(text)
        {
            Type = type;
        }

        public IInstance Item
        {
            get;
            set;
        }

        public IFCTreeNodeType Type
        {
            get;
            set; // Make the setter public
        }
    }
}
